import java.util.Scanner;

/**
 * 实现一个简易购物车系统，要求：
 * 1. 使用数组存储商品名称和价格
 * 2. 用户可以选择商品添加到购物车
 * 3. 计算购物车中商品的总价
 * 4. 根据总价应用折扣（满100减10，满200减25，满500减80）
 * 5. 显示最终应付金额
 */
public class ShoppingCart {
    public static void main(String[] args) {
    //1.存储商品名称和价格
        String[] goodsName={"连衣裙","手套","玻璃杯","英语书","耳机","鞋子"};
        float[] goodsPrice={200.5f,28,30,70.9f,400,350.7f};

        Scanner sc = new Scanner(System.in);

        float sum=0;
        while (true){
    //2.选择心仪的商品添加至购物车
            System.out.println("请输入您想要添加到购物车的商品编号,输入no以结算金额或退出购物，这里有：");

            int i;
            for (i=0;i<=5;i++){
                System.out.print((i+1)+"."+goodsName[i]+"("+goodsPrice[i]+"¥) ");
            }
            System.out.println();

            String n = sc.next();
            int id;
            Boolean flag=n.matches("-?\\d+(\\.\\d+)?");

            if(flag){
                id=Integer.parseInt(n);
                if (id<1||id>6) {
                    System.out.println("请输入1~6之间的商品编号！！");
                    continue;
                }
                else {
                    System.out.println("请输入商品数量：");
                    int num=sc.nextInt();
                    sum+=goodsPrice[id-1]*num;
                }
            }else{
                if (n.equals("no")){break;}
                else {System.out.println("您的输入有误请重新输入！！");continue;}

            }
        }

    //3.计算总价格，并根据金额应用折扣
        float fianl_sum=0;
        int discount=0;
        switch ((int)sum/100){
            case 0: fianl_sum=sum;break;
            case 1: fianl_sum=sum-10;discount=10;break;
            case 2:
            case 3:
            case 4:fianl_sum=sum-25;discount=25;break;
            case 5:
            default: fianl_sum=sum-80;discount=80;break;
        }

    //4.打印最终应付的金额
        if (fianl_sum==0)System.out.println("欢迎下次光临！！");
        else System.out.println("已为您优惠"+discount+"元，"+"您需要支付"+fianl_sum+"元");
    }
}
